home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / scsi / scsi_driver.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  995 b   |  37 lines

  1. #ifndef _SCSI_SCSI_DRIVER_H
  2. #define _SCSI_SCSI_DRIVER_H
  3.  
  4. #include <linux/device.h>
  5.  
  6. struct module;
  7. struct scsi_cmnd;
  8. struct scsi_device;
  9. struct request;
  10. struct request_queue;
  11.  
  12.  
  13. struct scsi_driver {
  14.     struct module        *owner;
  15.     struct device_driver    gendrv;
  16.  
  17.     void (*rescan)(struct device *);
  18.     int (*done)(struct scsi_cmnd *);
  19. };
  20. #define to_scsi_driver(drv) \
  21.     container_of((drv), struct scsi_driver, gendrv)
  22.  
  23. extern int scsi_register_driver(struct device_driver *);
  24. #define scsi_unregister_driver(drv) \
  25.     driver_unregister(drv);
  26.  
  27. extern int scsi_register_interface(struct class_interface *);
  28. #define scsi_unregister_interface(intf) \
  29.     class_interface_unregister(intf)
  30.  
  31. int scsi_setup_blk_pc_cmnd(struct scsi_device *sdev, struct request *req);
  32. int scsi_setup_fs_cmnd(struct scsi_device *sdev, struct request *req);
  33. int scsi_prep_state_check(struct scsi_device *sdev, struct request *req);
  34. int scsi_prep_return(struct request_queue *q, struct request *req, int ret);
  35.  
  36. #endif /* _SCSI_SCSI_DRIVER_H */
  37.